The digital computer is a powerful data processing tool that allows a user to organize, store and analyze data in volumes and at rates that would be impossible by any prior known technique. The computer network has been a similar step forward. By linking together several computers and by providing shared resources and cross-platform communications, engineers have developed the computer network into a tool that provides sufficient processing power to support entire corporations and universities. The increased power of computer networks over the individual microcomputer is provided by distributed processing. Distributed processing allows for the division or distribution of a computational workload among the different workstations connected to the computer network.
One of the most widely accepted and heavily used computer networks is the Internet. The Internet is a global system of interconnected computer networks formed into a single worldwide network. A user, through the Internet, can interactively transmit messages with users in different countries. Similarly, a user in the U.S. can access the files from libraries in Europe and Asia and download these files for personal use. Accordingly, the Internet computer network provides strong communication functions similar to the communication functions provided by ham radio operators. Moreover, the Internet computer network acts like a universal library, providing electronic access to resources and information available from Internet sites throughout the world.
Although the Internet provides excellent and developed resources for communication and file sharing, the Internet is still basically a static medium. In other words, the content of the Internet, i.e., the resources available to a user accessing a site on the Internet, contains mostly static information. Typically, a user moves about the Internet using a web browser program. The web browser program allows for multimedia presentation of information including text images, sound and video clips. This allows the user to connect via the Internet to different sites on the Internet. However, although a user can view the information stored at an Internet site, and even make a copy for his own personal use, at present, a user lacks a system for directly executing an application program via the Internet. As such, the Internet does not provide the general user the advantages of distributed processing.
In response to this problem, systems have been proposed that provide for application programs that move fluidly between an Internet site that stores the application program and an Internet site that services a user wishing to use that application program. One such proposed system is the JAVA system proposed by Sun Microsystems. The JAVA system provides an interpretive language system that can be operated by the Internet user to download and run small application programs, referred to as applets, located at a remote Internet site. Accordingly, the JAVA system allows for a form of distributed processing in that application programs located at Internet sites are being made available to Internet users. This is a significant advance over the prior functions available to Internet users which previously were limited to merely viewing and transferring information.
However, although JAVA offers an improvement over the prior art, the JAVA system suffers from some significant drawbacks. First of all, the JAVA system requires that each application stored at an Internet resource site that will be downloaded to an Internet user and run at the Internet user's site, to be written in a specific programming language that is compatible with the JAVA system. Therefore, available program applications such as Microsoft Word, Microsoft Excel, Intuit Quicken, or other developed application programs must be rewritten in a JAVA compatible programming language before it can be employed with the JAVA system. This of course creates an immediate barrier to the deployment of application programs across the Internet. Moreover, a significant debugging effort will be required as these rewritten applications are not proven code and inevitably will fail either due to bugs created during the rewriting of the program or bugs created by the JAVA system. Moreover, the proposed JAVA system is an interpreted language system. An interpreted language system is inherently slow. Accordingly, applications such as Microsoft Word or Microsoft Excel, which normally are not interpreted programs, must now be rewritten to function in an interpreted environment. Accordingly, Internet users are likely to notice a substantial decrease in operation speed while they run these applications. Additionally, JAVA applications available for deployment from an Internet site are programmed specifically for Internet deployment. Accordingly, these JAVA application programs will not be programs conventionally used by users at the Internet site that locally stores the JAVA application program. Accordingly, it is likely that users at the Internet application site will operate non-JAVA programs which are different from those JAVA programs deployed over the Internet. Accordingly, a compatibility rift develops between Internet users at remote sites and Internet users at the host sites. As such, the JAVA system inherently provides a barrier between users at remote locations and users at host sites.
Accordingly, it is an object of the present invention to provide systems that allow for deployment and execution of application programs across the Internet without downloading the application code into the storage memory of the user client system.
It is a further object of the present invention to provide systems that highly integrate remote users with the Internet network of the host site.
It is still a further object of the present invention to provide systems that deploy existing program applications across the Internet, without having to rewrite the applications.
It is still a further object of the present invention to provide a system for deploying applications across the Internet that provides systems which execute more quickly at remote sites.
These and other objects of the present invention will be made apparent from the following description of the invention.